23-2 ぅwq阞洏

我們可以將常用的函式,放在一個函式定義檔內,然後再從其他程式中,加入此檔案,就可以使用此函式定義檔中所定義的函式。WSH 所用的函式檔案,可以具有任何副檔名,但我們通常將此類函式檔案的副檔名設定為 fun(這是我個人的習慣,你也可以選用不同的副檔名),以資區別。

例如,我們可以將計算由1到n的總和的函式,放在 sumFunction.fun,如下:

原始檔(sumFunction.fun):(灰色區域按兩下即可拷貝)
// 此函數計算由 1 加到 n 的總和
function sum(n) {
	var i, total=0;
	for (i=1; i<=n; i++)
		total = total + i;
	return(total);
}

若要呼叫此檔案所定義的函式,通常我們必須將主程式的副檔名改為 wsf,並使用下述方式來導入函式定義檔:

<script src="sumFunction.fun"></script> 例如:

原始檔(sum03.wsf):(灰色區域按兩下即可拷貝)
<job>
<script src="sumFunction.fun"></script>
<script>
// 呼叫函數以計算由 1 加到 n 的總和
n = 40;
WScript.Echo("1+2+...+" + n + " = " + sum(n));
</script>
</job>

甚至我們可以由不同的程式語言環境,來呼叫 JavaScript 的函式,如下:

原始檔(sum04.wsf):(灰色區域按兩下即可拷貝)
<job>
<script src="sumFunction.fun"></script>

<script language=jscript>
// 在不同的程式語言呼叫同一個函數
n = 40;
WScript.Echo("1+2+...+" + n + " = " + sum(n) + " (via Jscript)");
</script>

<script language=vbscript>
n = 40
WScript.Echo("1+2+...+" & n & " = " & sum(n) & " (via Vbscript)")
</script>

</job>

在上述範例中,我們使用 JScript 和 VBScript 來呼叫同一個(由 JScript 來撰寫的)函數,執行後可得到同樣的結果,顯示如下:

1+2+...+40 = 820 (via Jscript) 1+2+...+40 = 820 (via VBScript) 事實上,我們可以使用同樣一個函數定義檔於客戶端的 JavaScript(用於網頁)、伺服器端的 JScript(用於 ASP)、本機的 JScript(用於 WSH),達到「一魚三吃」的最高境界,只是在導入函數定義檔時,所用的語法不盡相同。假設我們要導入函數定義檔 file.fun,則在上述三種環境下所用的導入指令列出如下:
JScript 程式設計與應用:用於單機的 WSH 環境